<?php if ( ! defined('WDK_PATH')) exit('No direct script access allowed');
require_once BASE_PATH.'admin/controller.php';
class Message extends Controller
{
	function __construct()
	{
		parent::__construct();
	}
	
	protected function _init() 
	{
		parent::_loginCheck();
	}
	
	public function index() 
	{
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array();
		/****************************************************************************************************************************/
		try
		{
			$assign_data['json'] = $this->json(true);
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_view($assign_data);
		/****************************************************************************************************************************/
	}
	
	public function json($return=false)
	{
		/*****************************************************************************************************************************
		 * POST PARAMS..
		*****************************************************************************************************************************/
		$page	= (int) get('page', 1);
		$sf		= (string)	post('sf', '');
		$sk		= (string)	post('sk', '');
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$listsize		= 15;
		$pagesize		= 10;
		$lm = Wdk::get('MessageManager');
		$lists = array();
		$where = array();
		$assign_data = array('listsize'=>$listsize,'pagesize'=>$pagesize);
		/****************************************************************************************************************************/
		try
		{
			if(strlen($sf) > 0 && strlen($sk) > 0)
			{
				$where[] = "`{$sf}` LIKE '{$sk}'";
			}
			$lm['listsize'] = $listsize;
			$lm['page'] = $page;
			$lm['where'] = $where;
			$lm->load();
			foreach($lm['lists'] as $idx=>$list)
			{
				$data = array(	'no'			=>	$lm['total'] - ($page-1)*$listsize - $idx,
								'seq'			=>	$list['message_seq'],
								'user_name'		=>	$list['user_name'],
								'user_nick'		=>	$list['user_nick'],
								'to_user_name'	=>	$list['to_user_name'],
								'to_user_nick'	=>	$list['to_user_nick'],
								'title'			=>	$list['message_title'],
								'content'		=>	$list['message_content'],
								'read_flag'		=>	$list['message_read_flag'],
								'read_time'		=>	date('Y-m-d H:i:s', $list['message_read_time']),
								'insert_time'	=>	date('Y-m-d H:i:s', $list['message_insert_time'])
							);
				array_push($lists, $data);
			}
			$assign_data['total'] = $lm['total'];
			$assign_data['lists'] = $lists;
		}
		catch(NoRecordException $e)
		{
			$assign_data['total'] = 0;
			$assign_data['lists'] = array();
		}
		catch(WException $e)
		{
			$assign_data['error'] = true;
			$assign_data['msg'] = "Error";
		}
		/*****************************************************************************************************************************
		 * RESULT
		*****************************************************************************************************************************/
		return parent::_json($assign_data, $return);
		/****************************************************************************************************************************/
	}
	
	public function edit($seq=0) 
	{
		$this->__edit();
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array();
		$obj = Wdk::get('Message');
		/****************************************************************************************************************************/
		try
		{
			if((int)$seq > 0)
			{
				$obj->load($seq);
			}
			$assign_data['data'] = $obj;
		}
		catch(NoRecordException $e)
		{
			parent::_error($e);
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_layout('popup');
		parent::_view($assign_data);
		/****************************************************************************************************************************/
	}

	private function __edit() 
	{
		if(parent::_isPost() == false) return;
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array();
		$obj = Wdk::get('Message');
		/****************************************************************************************************************************/
		try
		{
			$seq = post('message_seq', 0);
			if($seq > 0)
			{
				$obj->load($seq);
			}
			$obj['message_to']		= (int) post('message_to');
			$obj['message_title']	= (string) post('message_title'); 
			$obj['message_content']	= (string) post('message_content');
			$obj->autoUpdate();
		}
		catch(NoRecordException $e)
		{
			parent::_error($e);
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_script(array(	"alert('저장완료!')",
								"opener.wlm.reload();",
								"window.close();"
							)
						);
		/****************************************************************************************************************************/		
	}

	public function del() 
	{
		parent::_del(Wdk::get('Message'));
	}
}